<!DOCTYPE html>
什么是 URL Scheme？

android中的scheme是一种页面内跳转协议，是一种非常好的实现机制，通过定义自己的scheme协议，可以非常方便跳转app中的各个页面；通过scheme协议，服务器可以定制化告诉App跳转那个页面，可以通过通知栏消息定制化跳转页面，可以通过H5页面跳转页面等。
<!--URL Scheme应用场景：-->

<!--客户端应用可以向操作系统注册一个 URL scheme，该 scheme 用于从浏览器或其他应用中启动本应用。通过指定的 URL 字段，可以让应用在被调起后直接打开某些特定页面，比如商品详情页、活动详情页等等。也可以执行某些指定动作，如完成支付等。也可以在应用内通过 html 页来直接调用显示 app 内的某个页面。综上URL Scheme使用场景大致分以下几种：-->
<!--服务器下发跳转路径，客户端根据服务器下发跳转路径跳转相应的页面-->
<!--H5页面点击锚点，根据锚点具体跳转路径APP端跳转具体的页面-->
<!--APP端收到服务器端下发的PUSH通知栏消息，根据消息的点击跳转路径跳转相关页面-->
<!--APP根据URL跳转到另外一个APP指定页面-->
<!--URL Scheme协议格式：-->

<!--先来个完整的URL Scheme协议格式：-->
<!--xl://goods:8888/goodsDetail?goodsId=10011002-->
<!--通过上面的路径 Scheme、Host、port、path、query全部包含，基本上平时使用路径就是这样子的。-->
<!--xl代表该Scheme 协议名称-->
<!--goods代表Scheme作用于哪个地址域-->
<!--goodsDetail代表Scheme指定的页面-->
<!--goodsId代表传递的参数-->
<!--8888代表该路径的端口号-->
<!--URL Scheme如何使用：-->

<!--1.）在AndroidManifest.xml中对<activity />标签增加<intent-filter />设置Scheme-->

<!--<activity-->
        <!--android:name=".GoodsDetailActivity"-->
        <!--android:theme="@style/AppTheme">-->
    <!--&lt;!&ndash;要想在别的App上能成功调起App，必须添加intent过滤器&ndash;&gt;-->
    <!--<intent-filter>-->
        <!--&lt;!&ndash;协议部分，随便设置&ndash;&gt;-->
        <lifecircledata android:scheme="xl" android:host="goods" android:path="/goodsDetail" android:port="8888"/>-->
        <!--&lt;!&ndash;下面这几行也必须得设置&ndash;&gt;-->
        <!--<category android:name="android.intent.category.DEFAULT"/>-->
        <!--<action android:name="android.intent.action.VIEW"/>-->
        <!--<category android:name="android.intent.category.BROWSABLE"/>-->
    <!--</intent-filter>-->
<!--</activity>-->

<html>
	<head>
		  <meta http-equiv="content-type" content="text/html;charset=UTF-8">
		<title></title>
	</head>
	
	<body>

        这是html页面 <br/>

        <a href="http://www.baidu.com"> 百度一下</a>

        <button onclick="s()">点击调用本地方法</button>
        <a href="origin://abc:9999/ef">点击跳转到原生页面</a>
        <p id="p"></p>

        <script type="text/javascript">

            //有参有返回值的方法
            function sum(a,b) {
                <!--gygguuuiu-->
                return a+b;
            }

            //有参无返回值的方法
            function alertMessage(message) {
                alert(message);
            }

            //无参无返回值的方法
            function show(){
                //显示hello world
                document.getElementById("p").innerHTML="hello world";
            }

            function s() {
                //调用原生的方法，android为约定的别名；back()为原生的方法
                var result=window.android.back();
                //将返回结果显示在id为p的控件上
                document.getElementById("p").innerHTML=result;
            }
        </script>
    </body>
</html>
